package world;

import java.util.Random;

public class NameGenerator {

	private String alphabet = "abcedfghijklmnopqrstuvwxyz";
	private String[] vowels = { "a", "e", "i", "o", "u", "a", "y", "ea", "ei",
			"eo" };
	private String[] consonant = { "b", "c", "d", "g", "h", "j", "k", "l", "m",
			"nt", "st", "rt", "pt", "pl", "th", "ll", "ct", "n", "p", "q", "r",
			"s", "t", "v", "w", "x", "z" ,"rm","rn","nd","ss","ng","nc","ck" };

	private String[] startVowels = { "a", "e", "i", "o", "u", "a", "y", "ei" };
	private String[] startConsonant = { "b", "c", "d", "g", "h", "j", "k", "l",
			"m", "st", "pl", "th", "n", "p", "q", "r", "s", "t", "v", "w", "x",
			"z","pr","tr","bl"};

	private String[] minEndings = { "nium", "tium", "dium", "nium", "nium",
			"nium" };
	private Random r = new Random();

	public String generateMineral() {
		String result = "";
		int i = 0;
		if (Math.random() > 0.7) {
			result += getRandom(startVowels);
			result += getRandom(consonant);
		} else {
			result += getRandom(startConsonant);
			result += getRandom(vowels);
			i = 1;
		}
		for (int q = 0; q < r.nextInt(2) + i; q++) {
			if (i == 0) {
				result += getRandom(vowels);
				result += getRandom(consonant);
			} else {
				result += getRandom(consonant);
				result += getRandom(vowels);
			}
		}
		if (i == 0)
			result += getRandom(vowels);
		result += getRandom(minEndings);
		String actualResult = result.substring(0, 1).toUpperCase()
				+ result.substring(1);
		return actualResult;
	}

	private String getRandom(String[] array) {
		return array[r.nextInt(array.length)];
	}

}
